home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Mac Game Programming Gurus / TricksOfTheMacGameProgrammingGurus.iso / More Source / C⁄C++ / Rotater 2.8 / README 2.8 < prev    next >
Text File  |  1995-05-07  |  8KB  |  266 lines

  1. Rotater 2.8
  2. ===========
  3. This is a program that reads a set of 3-dimensional points
  4. and lines and plots them in a window. The image can then
  5. be rotated with the mouse in real time.
  6.  
  7. Requires System 7 or greater.
  8. 8 bit colour screen and Power Macintosh preferable.
  9.  
  10.  
  11. Versions
  12. --------
  13. Rotater-FAT-2.8
  14. A fat binary for PowerMacs and 68K Macs
  15.  
  16. Rotater-881-2.8
  17. A binary for 68K Macs with an FPU
  18. Will not run on a PowerMac or a 68K Mac with no FPU
  19.  
  20.  
  21. Changes from 2.0
  22. ----------------
  23. A new icon :-)
  24. faster!
  25. Can now have a white background in 3D-Glasses Mode.
  26. Recompiled with CW5 - slightly faster again.
  27. New folder icon :-)
  28. Floating Info Windows.
  29. New folder icon for rotater files :-)
  30. Can now center object on the screen
  31. Reads in large files more than 20 times faster
  32. Muchly speeded up (esp. small windows)
  33. Better default positions
  34. Better zooming of fast images
  35. Added Funky mode
  36. Can now set Max window size
  37. Optimum window sizing
  38. New rotation method
  39. Can set vector image resolution
  40. More speed again
  41. Newer icons
  42. Shows angles
  43.  
  44.  
  45. Help
  46. ----
  47. The program has balloon help for all of the menu items.
  48.  
  49.  
  50. Maximum Window Size
  51. -------------------
  52. You can now set the maximum window size that the program
  53. can use. This can be done by holding down the option key
  54. on startup. The selected size is saved for future sessions.
  55.  
  56. Larger windows require more memory to run so set the Max
  57. size to as small as possible if you need to conserve
  58. memory. You will also need to adjust the minimum and
  59. prefered memory sizes in Rotater's Get Info... box
  60. from the Finder.
  61.  
  62. If you cannot open the program because you have set the
  63. Max window size too high for available memory use the
  64. option key at startup to set a smaller window size.
  65.  
  66.  
  67. Rotation Method
  68. ---------------
  69. Click on the image and hold the mouse button down. Moving the
  70. mouse now rotates the image.
  71.  
  72. The track-ball rotation method is on by default.
  73. Imagine the image is inside a clear ball. Dragging the mouse
  74. across it is like rolling the ball. Try it and see :-)
  75.  
  76. Turning off track-ball rotation gives X-Z rotation where you
  77. set the angle of looking at the object by moving the mouse
  78. up and down and the z-rotation by moving it left and right.
  79. This works best for things that have a natural up.
  80. Note the the up position is the current one when switching
  81. from trackball rotation.
  82.  
  83. If you have the Grab & Spin option set under the action menu,
  84. when you let go of the mouse button while still moving the mouse
  85. the image will continue to rotate in the same direction.
  86. Stop all rotation by clicking the mouse once. You may need to
  87. hold the mouse button down for a while on slow machines.
  88.  
  89. Drag & Spin will not work if the image takes longer than 1/4 of a
  90. second to calculate and draw. Copying to very large windows slows
  91. the program down considerably.
  92.  
  93.  
  94. Keyboard Rotations
  95. ------------------
  96. The "x", "y" and "z" keys rotate about their respective axes. By
  97. holding the shift key down when using them, the image will rotate
  98. in the opposite direction. The arrow keys can also be used for
  99. rotating the image.
  100.  
  101. The 'x' axis runs left and right across the window, 'z' runs up
  102. and down the screen and 'y' runs into and out of the screen.
  103.  
  104.  
  105. Showing Angles
  106. --------------
  107. The "show angles" option displays the current or last rotation
  108. vector when in Trackball Mode or the absolute rotation of the
  109. object when not in Trackball Mode. By switching to trackball
  110. mode the angles are zeroed. This can be used to realign the
  111. object.
  112.  
  113.  
  114. Resizing the Viewing Window
  115. ---------------------------
  116. The viewing window can be resized using an invisible handle on
  117. the bottom right corner of the window.
  118.  
  119. Maximum window size can be set by holding the option key
  120. down while launching the program.
  121.  
  122. Square windows are optimal in normal mode. Windows twice as
  123. wide as they are high are optimal for stereo mode.
  124. By clicking in the zoom box of the window with the option
  125. key held down the window will size itself optimally for
  126. the current mode setting.
  127.  
  128. Smaller windows run faster.
  129.  
  130.  
  131. Saving Images
  132. -------------
  133. Images can be saved to disk either as a 72 dot per inch
  134. bitmap or as Vector file that can be edited and
  135. printed from draw type programs. Note that there is an upper
  136. limit for the number of elements that can be saved in vector
  137. format somewhere around 20,000.
  138.  
  139. The default resolution for saved vectors is 300 dpi. This can
  140. be changed by holding down the option key when selecting the
  141. menu item. The new setting can be set as the default for
  142. future sessions by saving the preferences.
  143.  
  144. Note that files saved at high dpi have joins at 72dpi intervals
  145. when imported to some programs or ungrouped in others.
  146. I am not sure how to fix this.
  147.  
  148.  
  149. Maximum Number of Points/Lines
  150. ------------------------------
  151. The default memory allocation for the program should be enough to
  152. read about 20000 points or lines in. To increase this number,
  153. increase the memory allocation in the programs "Get Info" box.
  154.  
  155. You will receive a warning if you try to read in a file that is
  156. too large for available memory.
  157.  
  158.  
  159. Speed of Rotating
  160. -----------------
  161. Smaller windows run faster.
  162.  
  163. Hiding lines slows the program down especially on non-PPC machines.
  164.  
  165. Thinner lines and smaller dots run faster.
  166.  
  167. Make sure your monitor is in 8-bit mode with the System colour
  168. palette for maximum speed.
  169.  
  170. This program runs VERY VERY much faster on a Power Macintosh than
  171. on a 68K Macintosh (about 10 times faster!).
  172.  
  173. Points plot faster than lines. 20000 points can be
  174. comfortably manipulated on a Power Macintosh 6100/60.
  175.  
  176.  
  177. Format of the Input File
  178. ------------------------
  179. The input file consists of sets of four points on each line
  180.  
  181. x y z c
  182.  
  183. x = x coordinate of a point (real)
  184. y = y coordinate of a point (real)
  185. z = z coordinate of a point (real)
  186. c = colour and/or drawing method (integer)
  187.  
  188. if (c = 0) move to the x,y,z point without drawing
  189. if (c > 0) draw a line to the x,y,z point from the current
  190.            position using colour c
  191. if (c < 0) draw a dot at x,y,z using colour -c
  192.  
  193. where
  194. if (c = 1) colour is red
  195. if (c = 2) colour is green
  196. if (c = 3) colour is blue
  197. if (c = 4) colour is yellow
  198. if (c = 5) colour is purple
  199. if (c = 6) colour is cyan
  200. if (c > 6) colour is white
  201.  
  202. eg
  203. 0.5 2.3 -1 0  # moves to point 0.5 2.3 -1 without drawing
  204. 3 5 6 2       # draws red line from 0.05 2.3 -1 to 3 5 6
  205. 5 -5 2 -3     # plots blue dot at 5 -5 2
  206.  
  207. The points are automatically scaled to fit in the window and
  208. rotation is about 0,0,0.
  209.  
  210. The input file can be any text file.
  211. # Comment lines begin with the '#' character.
  212. Text after the four points on a line is ignored.
  213. Completely blank lines are ok (they are ignored).
  214.  
  215. Contiguous comments at the very start of the file are read in
  216. and displayed in the program in the Info window.
  217. Use this to explain to the user what the image is and where
  218. it comes from. Try to keep it short otherwise the window gets
  219. too big. Internal documentation can be placed in other
  220. comments after a blank line.
  221.  
  222.  
  223. Notes
  224. -----
  225. This program is free and I take no responsibility if it kills
  226. your machine or drives you mad. Use at your own risk.
  227.  
  228. It may not be sold.
  229.  
  230. Source code and project files for the Metrowerks CW5 compilers
  231. are available at the archive site or on request.
  232.  
  233. E-mail me if you find a use for this program or come up with a
  234. cool set of points/lines worth adding to the collection.
  235.  
  236. The official Archive site for source code, new updates,
  237. rotation files etc is:
  238.   ftp://raru.adelaide.edu.au/rotater/
  239. or
  240.   http://raru.adelaide.edu.au/rotater/
  241.  
  242.  
  243. Thanks To
  244. ---------
  245. Thanks go to the following:
  246.  
  247. Metrowerks for a great compiler.
  248. Toby Thain and Dale Greer for help speeding up the program.
  249. Andrew Maloney for speed and floating window help.
  250. Tim Olson for bzero.
  251. David Doak, Charles Williams and E.J. Chichilnisky
  252.  for many helpful suggestions.
  253. Richard Chipper for the new icons and the new new icons.
  254. Troy Gaul for the Infinity Windoid WDEF.
  255. Patrick Rabou for a number of optimisations.
  256. Brent Stone for heaps of cool speed optimizations.
  257.  
  258. Numerous people for rotation files (see comments in the files)
  259.  
  260.  
  261. Enjoy
  262.  
  263. Craig Kloeden
  264. craig@raru.adelaide.edu.au
  265. 7 May 1995
  266.